Equality-Based Uniqueness Typing
نویسندگان
چکیده
Uniqueness typing can be used to add side effects to a functional programming language without losing referential transparency. Unfortunately uniqueness types often involve implications between uniqueness attributes, which complicates type inference and incorporating modern extensions such as arbitrary rank types. In this paper we show how to avoid these difficulties by recoding attribute inequalities as attribute equalities, and use this technique to define an arbitrary rank uniqueness type system.
منابع مشابه
Pure type systems with judgemental equality
In a typing system, there are two approaches that may be taken to the notion of equality. One can use some external relation of convertibility defined on the terms of the grammar, such as β-convertibility or βη-convertibility; or one can introduce a judgement form for equality into the rules of the typing system itself. For quite some time, it has been an open problem whether the two systems pr...
متن کاملUniqueness Typing in Natural Deduction Style
We present two type systems for graph rewriting: conventional typing and (polymorphic) uniqueness typing. The latter is introduced as a natural extension of simple algebraic and higher-order uniqueness typing. The systems are given in natural deduction style using an inductive syntax of graph denotations with familiar constructs such as let and case. The conventional system resembles traditiona...
متن کاملDerivation System for Uniqueness TypingErik
We present two systems for rst-order typing of graph expressions, in natural deduction style: conventional typing and (polymorphic) uniqueness typing. In both type systems, typing is preserved during evaluation, and types can be determined eeectively.
متن کاملUniqueness Typing for Functional Languages with Graph Rewriting Semantics
We present two type systems for term graph rewriting: conventional typing and (polymorphic) uniqueness typing. The latter is introduced as a natural extension of simple algebraic and higher-order uniqueness typing. The systems are given in natural deduction style using an inductive syntax of graph denotations with familiar constructs such as let and case. The conventional system resembles tradi...
متن کاملUniqueness Typing in Theory and Practice
We present uniqueness typing as an extension of a familiar Curry style typing system for graph rewrite systems. This provides a method for combining purely functional programming with operations having side-eeects, while preserving the functional nature of the language. We give a technical account as well as the underlying intuition. The system is shown to be eeective in the sense that a unique...
متن کامل